package com.taobao.api.domain;

import java.util.Date;

import com.taobao.api.TaobaoObject;
import com.taobao.api.internal.mapping.ApiField;

/**
 * 账单结构
 *
 * @author auto create
 * @since 1.0, null
 */
public class Bill extends TaobaoObject {

  private static final long serialVersionUID = 6135569317495585855L;

  /**
   * 科目编号
   */
  @ApiField("account_id")
  private Long              accountId;

  /**
   * 支付宝账户编号
   */
  @ApiField("alipay_id")
  private String            alipayId;

  /**
   * 支付宝账户名称
   */
  @ApiField("alipay_mail")
  private String            alipayMail;

  /**
   * 支付宝交易号,暂不提供
   */
  @ApiField("alipay_no")
  private String            alipayNo;

  /**
   * 支付宝备注
   */
  @ApiField("alipay_notice")
  private String            alipayNotice;

  /**
   * 支付宝商户订单号
   */
  @ApiField("alipay_outno")
  private String            alipayOutno;

  /**
   * 账单金额,退款时返回的是负数
   */
  @ApiField("amount")
  private Long              amount;

  /**
   * 账单编号
   */
  @ApiField("bid")
  private Long              bid;

  /**
   * 业务时间,订单交易完成的时间
   */
  @ApiField("biz_time")
  private Date              bizTime;

  /**
   * 记账时间
   */
  @ApiField("book_time")
  private Date              bookTime;

  /**
   * 创建时间
   */
  @ApiField("gmt_create")
  private Date              gmtCreate;

  /**
   * 修改时间
   */
  @ApiField("gmt_modified")
  private String            gmtModified;

  /**
   * 所属商品编号
   */
  @ApiField("num_iid")
  private String            numIid;

  /**
   * 目标支付宝账户编号
   */
  @ApiField("obj_alipay_id")
  private String            objAlipayId;

  /**
   * 目标支付宝账户名称
   */
  @ApiField("obj_alipay_mail")
  private String            objAlipayMail;

  /**
   * 交易子订单编号
   */
  @ApiField("order_id")
  private String            orderId;

  /**
   * 支付时间,收取佣金时支付宝的扣款时间
   */
  @ApiField("pay_time")
  private Date              payTime;

  /**
   * 0-未支付,1-支付成功,2-支付失败
   */
  @ApiField("status")
  private Long              status;

  /**
   * 交易金额
   */
  @ApiField("total_amount")
  private Long              totalAmount;

  /**
   * 交易订单编号
   */
  @ApiField("trade_id")
  private String            tradeId;

  public Long getAccountId() {
    return this.accountId;
  }

  public void setAccountId(Long accountId) {
    this.accountId = accountId;
  }

  public String getAlipayId() {
    return this.alipayId;
  }

  public void setAlipayId(String alipayId) {
    this.alipayId = alipayId;
  }

  public String getAlipayMail() {
    return this.alipayMail;
  }

  public void setAlipayMail(String alipayMail) {
    this.alipayMail = alipayMail;
  }

  public String getAlipayNo() {
    return this.alipayNo;
  }

  public void setAlipayNo(String alipayNo) {
    this.alipayNo = alipayNo;
  }

  public String getAlipayNotice() {
    return this.alipayNotice;
  }

  public void setAlipayNotice(String alipayNotice) {
    this.alipayNotice = alipayNotice;
  }

  public String getAlipayOutno() {
    return this.alipayOutno;
  }

  public void setAlipayOutno(String alipayOutno) {
    this.alipayOutno = alipayOutno;
  }

  public Long getAmount() {
    return this.amount;
  }

  public void setAmount(Long amount) {
    this.amount = amount;
  }

  public Long getBid() {
    return this.bid;
  }

  public void setBid(Long bid) {
    this.bid = bid;
  }

  public Date getBizTime() {
    return this.bizTime;
  }

  public void setBizTime(Date bizTime) {
    this.bizTime = bizTime;
  }

  public Date getBookTime() {
    return this.bookTime;
  }

  public void setBookTime(Date bookTime) {
    this.bookTime = bookTime;
  }

  public Date getGmtCreate() {
    return this.gmtCreate;
  }

  public void setGmtCreate(Date gmtCreate) {
    this.gmtCreate = gmtCreate;
  }

  public String getGmtModified() {
    return this.gmtModified;
  }

  public void setGmtModified(String gmtModified) {
    this.gmtModified = gmtModified;
  }

  public String getNumIid() {
    return this.numIid;
  }

  public void setNumIid(String numIid) {
    this.numIid = numIid;
  }

  public String getObjAlipayId() {
    return this.objAlipayId;
  }

  public void setObjAlipayId(String objAlipayId) {
    this.objAlipayId = objAlipayId;
  }

  public String getObjAlipayMail() {
    return this.objAlipayMail;
  }

  public void setObjAlipayMail(String objAlipayMail) {
    this.objAlipayMail = objAlipayMail;
  }

  public String getOrderId() {
    return this.orderId;
  }

  public void setOrderId(String orderId) {
    this.orderId = orderId;
  }

  public Date getPayTime() {
    return this.payTime;
  }

  public void setPayTime(Date payTime) {
    this.payTime = payTime;
  }

  public Long getStatus() {
    return this.status;
  }

  public void setStatus(Long status) {
    this.status = status;
  }

  public Long getTotalAmount() {
    return this.totalAmount;
  }

  public void setTotalAmount(Long totalAmount) {
    this.totalAmount = totalAmount;
  }

  public String getTradeId() {
    return this.tradeId;
  }

  public void setTradeId(String tradeId) {
    this.tradeId = tradeId;
  }

}
